const { defineConfig } = require('@vue/cli-service');
module.exports = defineConfig({
  transpileDependencies: true,
  lintOnSave: true,
  productionSourceMap: false,
  publicPath: './',
  assetsDir: 'assets',
  pluginOptions: {
    /**
     * @type {import('vue-cli-plugin-electron-builder').PluginOptions}
     */
    electronBuilder: {
      customFileProtocol: './',
      builderOptions: {
        appId: 'com.electron_v2.app', //包名
        productName: 'electron_v2', //项目名，也是生成的安装文件名，即Electron_test.exe
        asar: true,
        artifactName: '${productName}_${version}.${ext}',
        electronDownload: {
          mirror: 'https://npmmirror.com/mirrors/electron/'
        },
        win: {
          // icon: '',
          // compression:'store', //压缩 快速打包 测试用
          target: [
            {
              target: 'nsis',
              arch: ['x64']
            }
          ],
          artifactName: '${productName}-Windows-${version}-Setup.${ext}'
        },
        nsis: {
          oneClick: false, // 是否一键安装
          perMachine: false, // 是否单机安装
          allowToChangeInstallationDirectory: true, // 是否允许用户更改安装目录
          deleteAppDataOnUninstall: false, // 是否删除安装后的数据
          allowElevation: true, // 是否允许提升权限
          runAfterFinish: true, // 安装完成后是否运行
          // installerIcon: './public/favicon.ico', // 安装图标 electron-icon-builder 生成
          // uninstallerIcon: './public/favicon.ico', // 卸载图标 electron-icon-builder 生成
          // installerHeader: './public/favicon.ico', // 安装的头部(右边的图标) electron-icon-builder 生成
          // installerHeaderIcon: './public/favicon.ico', // 安装时头部图标   electron-icon-builder 生成
          // installerSidebar: './build/installerSidebar.bmp', // 安装包安装侧边图片，要求164 × 314 像素
          // uninstallerSidebar: './build/installerSidebar.bmp', // 安装包卸载侧边图片，要求164 × 314 像素
          createDesktopShortcut: true, // 是否创建桌面图标
          createStartMenuShortcut: true, // 是否创建开始菜单图标
          shortcutName: '${productName}', // 图标名称
          displayLanguageSelector: true, //是否允许选择安装包语言
          installerLanguages: ['zh_CN', 'en_US'], //安装包语言
          // installerLanguages: ['zh_CN'], //安装包语言只要中文
          // https://learn.microsoft.com/zh-cn/openspecs/windows_protocols/ms-lcid/a9eac961-e77d-41a6-90a5-ce1a8b0cdb9c?redirectedfrom=MSDN
          language: 0x0804 //设置安装包 属性 详细信息 语言 为 中文简体
          // license: './LICENSE.txt', // 许可证 需要gb2312格式
        },
        linux: {
          // icon: './public/favicon.png',
          target: [
            // 'AppImage',
            'deb'
          ],
          artifactName: '${productName}-Linux-${version}.${ext}'
        },
        appImage: {
          // license: './LICENSE'
        },
        deb: {
          // 优先权
          priority: 'required',
          // 依赖
          depends: [
            'gconf2',
            'gconf-service',
            'libnotify4',
            'libappindicator1',
            'libxtst6',
            'libnss3',
            'libcanberra-gtk-module',
            'libcanberra-gtk3-module',
            'libssl-dev',
            'libsodium-dev'
          ],
          // packageName 设置中文会报错
          packageName: 'electron_v2'
        }
      }
    }
  }
});
